package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 社区对象 community
 * 
 * @author zrj
 * @date 2025-07-16
 */
public class Community extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 社区ID */
    private Long communityId;

    /** 社区名称 */
    @Excel(name = "社区名称")
    private String communityName;

    /** 社区描述 */
    @Excel(name = "社区描述")
    private String description;

    /** 社区头像URL */
    @Excel(name = "社区头像URL")
    private String avatar;

    /** 创始人用户ID（关联sys_user.user_id） */
    @Excel(name = "创始人用户ID", readConverterExp = "关=联sys_user.user_id")
    private Long founderId;

    /** 成员数量 */
    @Excel(name = "成员数量")
    private Long memberCount;

    /** 帖子数量 */
    @Excel(name = "帖子数量")
    private Long postCount;

    /** 状态（0-正常，1-禁用） */
    @Excel(name = "状态", readConverterExp = "0=-正常，1-禁用")
    private String status;

    public void setCommunityId(Long communityId) 
    {
        this.communityId = communityId;
    }

    public Long getCommunityId() 
    {
        return communityId;
    }
    public void setCommunityName(String communityName) 
    {
        this.communityName = communityName;
    }

    public String getCommunityName() 
    {
        return communityName;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setAvatar(String avatar) 
    {
        this.avatar = avatar;
    }

    public String getAvatar() 
    {
        return avatar;
    }
    public void setFounderId(Long founderId) 
    {
        this.founderId = founderId;
    }

    public Long getFounderId() 
    {
        return founderId;
    }
    public void setMemberCount(Long memberCount) 
    {
        this.memberCount = memberCount;
    }

    public Long getMemberCount() 
    {
        return memberCount;
    }
    public void setPostCount(Long postCount) 
    {
        this.postCount = postCount;
    }

    public Long getPostCount() 
    {
        return postCount;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("communityId", getCommunityId())
            .append("communityName", getCommunityName())
            .append("description", getDescription())
            .append("avatar", getAvatar())
            .append("founderId", getFounderId())
            .append("memberCount", getMemberCount())
            .append("postCount", getPostCount())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
